The present invention relates generally to methods and apparatuses for implementing a multi-input/multi-output (MIMO) control scheme. More particularly, the invention relates to methods and apparatuses for implementing a MIMO controller based on a multiscale hierarchy.
In control problems where one is attempting to affect the behavior of a system through the use of feedback, the controller typically takes as inputs what is measured from a set of sensors, performs some transformation on those inputs through some known control law, then outputs signals that drive a set of actuators for implementing the desired control strategy. This general scheme is used, for example, in vibration control where the goal might be to still the vibrations on a structure. The sensors might pressure the acceleration at certain points on the structure, while the actuators may be shakers on the structure, acting in response to sensor measurements to counteract some measured disturbance.
Another example is active noise control where one might want to control the noise in a certain space. The sensors may be, for example, microphones that measure the noise source, while the actuators may be, for example, speakers that generate signals that cancel the noise. Both of these examples illustrate the case of controlling a spatially distributed set of variables. In the case of vibration control the variables considered may be acceleration on the surface of a structure, while in the case of active noise control the variables may be the sound pressure in a room.
One of the primary challenges of controlling a spatially distributed set of variables is in being able to handle the potentially large number of sensors and actuators required to control this set. The fact that the domain of this set is typically a continuum over a surface or a 3-dimensional volume while the sensors and actuators comprise a discrete set often implies the need for large numbers of sensors and actuators for control. By way of example, an emerging technology known as smart materials involves composite materials having embedded within its structures sensors and actuators for the purpose of sensing its environmental conditions and implementing control. In the case of vibration control, for example, these smart materials might contain a dense grid of miniature accelerometers and miniature piezo-ceramic actuators imbedded below the surface of the materials.
For digital control systems, the challenge of controlling a large system of sensors and actuators is in being able to, at each sample in time, take the inputs from the sensors, compute the necessary control signals as a function of these inputs, and output the control signals to drive the actuators. It is the computation of the control signals in real-time and, in the case of distributed processing schemes, the communication of results between processors that presents the main obstacle to controlling systems with large numbers of inputs and outputs. This computational bottleneck, both in terms of computational complexity and interprocessor communication, presents a major limitation on the performance of current control system designs on multi-input/multi-output systems, especially if a large number of sensors and actuators are involved.
To further elaborate on the challenges and issues involved in the design of an efficient controller for a large-scale multi-input/multi-output system, consider the example of FIG. 1. FIG. 1 shows in a simplified format a physical system for the purpose of introducing terms and concepts relevant to the disclosure herein. Referring now to FIG. 1, shown is a beam 102 representing the physical system on which a vibration control scheme is to be implemented, e.g. the vibration of which needs to be controlled. Beam 102 is acted upon by a forcing function 104, which impacts the beam at some arbitrary location on the beam at some arbitrary point in time. In the example of FIG. 1, one end of beam 102 is clamped to a relatively immobile structure 106, e.g. a solid wall. For illustration purposes, the other end of beam 102, i.e. the unclamped end, is impacted by forcing function 104 as shown. Forcing function 104 may be a one time impulse or periodic in time. For ease of illustration, it is assumed herein that forcing function 104 is a one time impulse although the control concepts disclosed herein are equally applicable to forcing functions having a periodic or any other time-varying nature.
Also shown in FIG. 1 are a plurality of sensors 108 for measuring the disturbance caused by forcing function 104 at fixed positions on beam 102. Each of the sensors 108 may, for example, represent an accelerometer that provides a voltage output which is proportional to the local acceleration experienced at its respective location on beam 102. The specific type of sensor used is not particularly relevant to the inventive concepts disclosed herein, and sensors 108 may, in fact, be implemented by any of a number of well known and widely available sensors that measure, for example, acceleration, displacement, impact, and the like.
There are also shown in FIG. 1 a plurality of actuators 110 acting on beam 102 to counteract the disturbance caused by forcing function 104. Actuators 110 may utilize hydraulic, electromechanical, piezo electric, or other suitable elements to transfer force onto beam 102 to still beam 102, thus counteracting the disturbance. It should be noted that although a beam example is chosen to define terms and to illustrate the overall inventive concept in this disclosure, the inventive control apparatuses and methods of the present invention may be adapted to work with any generalized physical system, including systems having any arbitrary number of sensors and actuators, whether implemented in one, two or three-dimensional space. It should be further noted that in the example of FIG. 1, as well as in any generalized physical system, there is no requirement that the number of actuators must equal the number of sensors. In fact, FIG. 1 shows a beam example in which there are more sensors 108 than actuators 110.
In operation, when forcing function 104 impacts beam 102 with its disturbance impulse, beam 102 typically experiences an initial disturbance that can be measured by various ones of sensors 108. Measurements taken by sensors 108 are then fed into a controller (not shown in FIG. 1). The controller then outputs a plurality of control signals for controlling individual ones of actuators 110, causing actuators 110 to act on, e.g. impact, beam 102 to counteract the disturbance experienced by sensors 108. If the controller is correctly designed, the disturbance sensed at beam locations where sensors 108 are located preferably approaches or reaches zero following actions by actuators 110.
In a general prior art control scheme, every sensor, e.g. every one of sensors 108, is designed to be capable of directly communicating with any actuator, e.g. any of actuators 110, and vice versa. This is because a disturbance in one part of the physical system may be measured by a sensor located in another part of that physical system. Further, the disturbance experienced in one part of the physical system may be effectively counteracted by one or more actuators located in a different part or different parts of that physical system.
If the physical system is small, i.e. the provided number of sensors and actuators is small, the number of interconnections between sensors and actuators may be manageable. Consequently, the computational bottleneck, both in terms of computational complexity and interprocessor communication, in mapping a small number of sensors into a small number of actuators, may be tolerable.
In large physical systems, e.g. a building structure, an aircraft wing, a sizable sample of smart material, and the like, the number of sensors and actuators may be in the thousands. When there are a large number of sensors and actuators, the number of interconnections becomes unwieldy. Merely interconnecting the large number of sensors and actuators together presents a significant engineering problem. Furthermore, even if those interconnections could be realized, the sheer number of computations that are required to derive control signals for the large number of actuators from all sensor outputs represents an obstacle to the realization of a real-time control system. Even if this large number of computations can be divided among many processors, the large number of interconnections exacerbates the interprocessor communication problem.
To ease the task of designing controllers, various techniques and models have been proposed. In one prior art method, a general control problem is modeled as a system of transfer functions. FIG. 2 shows in a simplified block diagram format a control system block diagram showing a plurality of blocks representing transfer functions. Referring now to FIG. 2, there is shown a transfer function S (120), representing the transfer function that maps the forcing variables, e.g. forcing function 104 of FIG. 1, into a plurality of sensor outputs. The sensor outputs from transfer function S is combined by a summer element 124 with outputs from a transfer function P (122), which represents the transfer function that maps actuator inputs into sensor outputs. Transfer function K (126) represents the user designed controller. In the physical world, transfer function K (126) may be implemented by any number of electronic or real-time digital elements, including microprocessors. Transfer function K (126) takes as its input values from summer element 124 and outputs values representing control signals for controlling actuators, e.g. actuators 110 of FIG. 1. In the diagram of FIG. 2, transfer function K (126) is in a feedback loop to increase robustness with respect to uncertainties in the physical system modeled by the control system block diagram of FIG. 2.
Transfer function A (128) maps the actuator inputs into the variable to be controlled, e.g. sensor output(s) that measures performance of the controller represented by transfer function K (126). The sensors that measure performance may be a subset of the sensors corresponding to transfer function S (120) or a set which may include other sensors as well. Transfer function T (130) represents the response to be matched by the control path and is in FIG. 2 a physical transfer function that maps the disturbance into a transformed version of the disturbance at some physical locations. By way of example, if the control system of FIG. 2 is used to implement active noise control, the outputs of transfer function T (130) may represent the noise level at certain points in the room at which noise suppression is desired.
The sum of the outputs of transfer functions A (128) and transfer functions T (130), whose sum is produced by summer element 132, represents the sensor outputs that measure performance. When controller K is properly designed, the value produced by summer element 132 preferably approaches or is at zero after the system's actuators are activated, signifying that the actuators of the system successfully counteract the disturbance caused by the forcing function. It should be noted that the control system block diagram of FIG. 2 is intended to be general and is applicable to any control system without regard to the number of sensors and actuators contained therein. In particular, the control system block diagram of FIG. 2 is suitable for modeling control systems in which there are an arbitrary number of sensors and actuators.
In mathematical terms, the overall closed-loop transfer function in FIG. 2 from input to output, denoted G herein, is expressed as follows. EQU G=T+A(I-KP).sup.-1 KS (1)
where I denotes the identity matrix.
Further, the control problem can be stated in terms of an optimization problem in which the optimal controller is the solution to the minimization of the norm of the transfer function G with respect to K. ##EQU1##
Constraints to this optimization problem include requiring stability of G as well as ensuring robustness of the design with respect to unmodeled errors in the transfer functions (T,S,A,P). Furthermore, K must be causal, i.e. realizable. Because of the highly non-linear dependence of G on K, solutions to such a constrained optimization problem are often extremely difficult to obtain.
One prior art method of simplifying the overall optimization problem involves the use of a Q-parameterization of the controller K. For additional information, reference should be made to B. Francis, A Course in H.infin. Control Theory, Springer-Verlag, 1987, incorporated herein by reference for all purposes.
Referring now to FIG. 3, there is shown in a simplified block diagram format a realization of a controller, e.g. transfer function K(126) of FIG. 2, using the above-mentioned Q-parameterization technique. In general, controller K may be implemented using two main transfer functions: Q (150) and P(160). Transfer function Q(150) represents the mapping from sensor outputs into actuator inputs, which is sometimes referred to as the feed-forward control path. Transfer function P (160), on the other hand, represents the mapping from actuator inputs to sensor outputs, and is sometimes referred to as the neutralization path. In the ideal case, transfer function P (160), when modeled accurately, is the same as transfer function P (122) of FIG. 2. The output of transfer function P (160) is fed, along with sensor outputs, e.g. outputs of transfer function S (120) of FIG. 2, into a summer element 170, the output of which serves as the input into transfer function Q (150).
Mathematically speaking, K may be parameterized as follows. EQU K=(I+QP).sup.-1 Q (3)
As discussed in the aforementioned reference by B. Francis, the basic theorem resulting from this parameterization is as follows. For a stable transfer function P in FIG. 2, the collection of stable transfer functions Q's in eq. (3) parameterize the set of transfer functions K's that stabilize the closed-loop system G.
By substituting eq. (3) into eq. (1), the following expression for G is derived: EQU G=T+AQS (4)
In other words, G has been transformed from a nonlinear function of K into an affine function of Q. Furthermore, as pointed out in the aforementioned B. Francis reference, the overall optimization problem as stated in eq. (2) reduces to the following model matching problem: ##EQU2##
If Q is restricted to be stable, then, via the Q-parameterization theorem, the requirement that the overall closed-loop system G be stable is satisfied.
For practical designs, however, a controller should be robust to unmodeled errors in the overall system. Indeed, one of the main reasons for designing feedback systems is to make a system insensitive to modeling errors or changes in plant parameters. For example, consider the case where there are additive plant errors. EQU P'=P+D (6)
where P represents the nominal plant, D is a transfer function that represents a frequency-dependent additive error, and P' is the true plant. In this case, the loop gain of the system, G, is equal to DQ and by the small gain theorem, the following is a sufficient condition for stability of G given the nominal plant P and the plant errors as in eq. (6). EQU .parallel.DQ.parallel..infin.&lt;1 (7)
where the .infin.-norm of a matrix transfer function is defined to be the supremum of the maximum singular value of the matrix over all frequencies. For further information regarding the derivation of eq. (7), reference should be made to J. C. Doyle, B. A. Francis, A. R. Tannenbaum, Feedback Control Theory, Macmillan, New York, 1992.
From the above, the robust control design problem then becomes one of using the nominal plant transfer function P as a plant model and solving the following constrained optimization problem. ##EQU3##
The constraint ensures that the design is stable in the presence of the error D added to the plant P. Examples of specific norms used in ##EQU4## include the .infin.-norm and the 2-norm.
Consider the computational complexity of realizing a controller as given in eq. (3). One of the main difficulties in implementing a controller with large numbers of sensors and actuators is the fact that it is necessary to map dynamically all of the sensor outputs into all of the actuator inputs. In the Q-parameterization realization of the controller, the implementation problem divides into two tasks: 1) Implementing P as a transfer function from actuator inputs to sensor outputs, and 2) Implementing Q as a transfer function from sensor outputs to actuator inputs.
If P and Q are full matrices over a wide band of frequencies, the computational complexity of implementing a controller with large numbers of sensors and actuators becomes significant. For example, suppose P and Q were implemented as matrix finite impulse response (FIR) filters and there were Ns sensors and Na actuators. The number of multiplications and additions required to perform a single tap filter operation in a fully-interconnected controller is 2Ns Na.
The complexity of implementing a controller in which all sensors and actuators are fully interconnected is illustrated graphically in FIG. 4A. FIG. 4A shows a greatly simplified realization of transfer function Q (from sensor outputs to actuator inputs) for a controller which attempts to connect every sensor to every actuator. The connection of every sensor to every actuator represents the attempt to account for the interdependence nature of sensors and actuators in a physical system, in which a disturbance on one part of the system may be measurable by a sensor located in another part of the system, and perhaps most effectively counteracted by actuators located in yet another location. For ease of illustration, only four sensors S and four actuators A are shown. As is apparent from the number of interconnections from the S's to the A's, when every sensor S is connected to every actuator A, the total number of connections equals the number of S multiplied by the number of A or 16 in the case of the greatly simplified system of FIG. 4A.
In a fully-interconnected controller system with 1,000 sensors and 1,000 actuators, the number of connections for implementing transfer function Q alone is then 1,000.times.1,000, or 1,000,000. If P is also implemented, using a different connection network or the same network through some multiplexing scheme, e.g. time or frequency multiplexing, the total number of communication paths is now 2,000,000. Implicit in the foregoing, the number of computations that must be made in the Q-parameterized control system of the above example to map sensor outputs into controller inputs is 2,000,000 per sample in time. The large number of computations that must be made significantly increases the total time it takes to map the fully-interconnected sensors and actuators into one another, thereby preventing the efficient implementation of a real-time control system.
If multiple processors are used to distribute the computational burden in implementing a fully-interconnected large-scale MIMO control system, interprocessor communication among a large number of processors presents yet another problem. Consider the fully-interconnected implementation of transfer function P of FIG. 4B in which a plurality of processors C1-C4 are utilized to improve the speed at which the controller implemented by transfer function P can map actuator outputs into sensor inputs. For ease of illustration, only partial connections are shown.
In the controller scheme of FIG. 4B, there is provided one processor for each actuator. Consequently, each processor is responsible for mapping the output of only one actuator, instead of all actuators if the system were implemented with a single processor, to all sensors. Although processor C1 maps the output of only actuator A1 into the inputs of sensors S1-S4, it must be synchronized with other existing processors via communication paths which are represented by the interconnected lines between processors. This is because there must be some mechanism by which data from the different actuators, via their associated processors, can be coordinated and computed to accomplish mapping into each sensor. As is apparent, although the use of multiprocessors reduces the amount of computations that must be performed by any one processor in a fully-interconnected controller scheme, the problem of coordinating the multiple interconnections remains and continues to present obstacles to the implementation of an efficient, robust real-time MIMO control scheme.